<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>prencar: Communication Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  <td id="projectlogo"><img alt="Logo" src="prencar.png"/></td>
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">prencar
   &#160;<span id="projectnumber">1</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.8.0 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('class_communication.html','');
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="#pri-static-attribs">Static Private Attributes</a>  </div>
  <div class="headertitle">
<div class="title">Communication Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="_communication_8h_source.html">Communication.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for Communication:</div>
<div class="dyncontent">
<div class="center"><img src="class_communication__coll__graph.png" border="0" usemap="#_communication_coll__map" alt="Collaboration graph"/></div>
<map name="_communication_coll__map" id="_communication_coll__map">
<area shape="rect" id="node2" href="class_command.html" title="A Command object represents a command sent from the host software." alt="" coords="5,5,85,32"/><area shape="rect" id="node5" href="class_configuration.html" title="Configuration" alt="" coords="130,5,227,32"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="class_communication-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ab405d4412e7f2515e4fdc2e61a8d5963"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_communication.html#ab405d4412e7f2515e4fdc2e61a8d5963">doJob</a> ()</td></tr>
<tr class="memitem:a8679b3cb7ceef5527faa24454ce0f18a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a">send</a> (byte messageId)</td></tr>
<tr class="memitem:ae69fab10af713fa7eef7b75ee804d030"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_communication.html#ae69fab10af713fa7eef7b75ee804d030">send</a> (byte messageId, int param)</td></tr>
<tr class="memitem:a4f3943a64cf5fb3e28c343582bedb80a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_communication.html#a4f3943a64cf5fb3e28c343582bedb80a">send</a> (byte messageId, long const params[], byte paramSize)</td></tr>
<tr class="memitem:a177161f8b437b0e406c301394a3632e5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_communication.html#a177161f8b437b0e406c301394a3632e5">send</a> (byte messageId, int const params[], byte paramSize)</td></tr>
<tr class="memitem:acfbc09567d9cdc37fd1fc333f8b21d85"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_communication.html#acfbc09567d9cdc37fd1fc333f8b21d85">sendString</a> (char *message)</td></tr>
<tr class="memitem:a17e42ee6dbbaa353944d63e7d5dee25a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_communication.html#a17e42ee6dbbaa353944d63e7d5dee25a">sendCurrentConfiguration</a> ()</td></tr>
<tr class="memitem:a17bff838a0404ae06482f17bcecd3784"><td class="memItemLeft" align="right" valign="top">boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_communication.html#a17bff838a0404ae06482f17bcecd3784">getAndRemoveCommandFromReadyCommands</a> (<a class="el" href="class_command.html">Command</a> *c, int commandCode)</td></tr>
<tr><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:ad7b13fccf78bfce83efc9bb06c64facd"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_communication.html">Communication</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_communication.html#ad7b13fccf78bfce83efc9bb06c64facd">getInstance</a> ()</td></tr>
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a7614d37dd498c0c4549d36d88eb39c24"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_command.html">Command</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_communication.html#a7614d37dd498c0c4549d36d88eb39c24">readyCommands</a> [<a class="el" href="class_communication.html#a9c8bdd0590074d523a055e50284f5ce1">_READYCOMMANDSSIZE</a>]</td></tr>
<tr class="memdesc:a7614d37dd498c0c4549d36d88eb39c24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Holds all the commands that are ready for execution.  <a href="#a7614d37dd498c0c4549d36d88eb39c24"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr class="memitem:a88aa7a2d2ac5202e2b8eef787d1a8689"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_communication.html#a88aa7a2d2ac5202e2b8eef787d1a8689">Communication</a> ()</td></tr>
<tr class="memitem:ad566d07485df1c7970edd450723da1aa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_communication.html#ad566d07485df1c7970edd450723da1aa">parseAndPutCommandOnList</a> (byte *commandString)</td></tr>
<tr class="memitem:a43c8f2812f29ab78f7213838e715cf49"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_communication.html#a43c8f2812f29ab78f7213838e715cf49">checkCommands</a> ()</td></tr>
<tr><td colspan="2"><h2><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:aa0bca76c6a5180371c2d2e9f978a33e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_configuration.html">Configuration</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_communication.html#aa0bca76c6a5180371c2d2e9f978a33e9">_config</a></td></tr>
<tr class="memitem:a55d359c2e8b6061388edbf07aa42c385"><td class="memItemLeft" align="right" valign="top">byte&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_communication.html#a55d359c2e8b6061388edbf07aa42c385">_incomingDataBuffer</a> [<a class="el" href="class_communication.html#ae3415ae474fb8d258f56ba70a4526627">_INCOMINGDATABUFFERSIZE</a>]</td></tr>
<tr class="memdesc:a55d359c2e8b6061388edbf07aa42c385"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffer to store ONE incoming line which is not yet completely transmitted.  <a href="#a55d359c2e8b6061388edbf07aa42c385"></a><br/></td></tr>
<tr class="memitem:acfaf4176401e364e3b0476a6eb220817"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_communication.html#acfaf4176401e364e3b0476a6eb220817">_lastBufferCharacter</a></td></tr>
<tr class="memdesc:acfaf4176401e364e3b0476a6eb220817"><td class="mdescLeft">&#160;</td><td class="mdescRight">The position of the last character in the buffer (lastBufferChar + 1 will be the next empty spot)  <a href="#acfaf4176401e364e3b0476a6eb220817"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-static-attribs"></a>
Static Private Attributes</h2></td></tr>
<tr class="memitem:ab0959d51f9cb9ee0ea2547b74856f283"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_communication.html">Communication</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_communication.html#ab0959d51f9cb9ee0ea2547b74856f283">_instance</a></td></tr>
<tr class="memdesc:ab0959d51f9cb9ee0ea2547b74856f283"><td class="mdescLeft">&#160;</td><td class="mdescRight">Static reference to the singleton object.  <a href="#ab0959d51f9cb9ee0ea2547b74856f283"></a><br/></td></tr>
<tr class="memitem:ad7d224755b1c47a1b5e6ce0d018492bb"><td class="memItemLeft" align="right" valign="top">static boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_communication.html#ad7d224755b1c47a1b5e6ce0d018492bb">_instanceCreated</a> = false</td></tr>
<tr class="memitem:ae3415ae474fb8d258f56ba70a4526627"><td class="memItemLeft" align="right" valign="top">static int const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_communication.html#ae3415ae474fb8d258f56ba70a4526627">_INCOMINGDATABUFFERSIZE</a> = 50</td></tr>
<tr class="memdesc:ae3415ae474fb8d258f56ba70a4526627"><td class="mdescLeft">&#160;</td><td class="mdescRight">The buffer size for the incomingDataBuffer.  <a href="#ae3415ae474fb8d258f56ba70a4526627"></a><br/></td></tr>
<tr class="memitem:a9c8bdd0590074d523a055e50284f5ce1"><td class="memItemLeft" align="right" valign="top">static int const&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_communication.html#a9c8bdd0590074d523a055e50284f5ce1">_READYCOMMANDSSIZE</a> = 15</td></tr>
<tr class="memdesc:a9c8bdd0590074d523a055e50284f5ce1"><td class="mdescLeft">&#160;</td><td class="mdescRight">The amount of commands that can be stored into the readyCommands array.  <a href="#a9c8bdd0590074d523a055e50284f5ce1"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock">
<p>Definition at line <a class="el" href="_communication_8h_source.html#l00008">8</a> of file <a class="el" href="_communication_8h_source.html">Communication.h</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a88aa7a2d2ac5202e2b8eef787d1a8689"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_communication.html#a88aa7a2d2ac5202e2b8eef787d1a8689">Communication::Communication</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Constructor </p>

<p>Definition at line <a class="el" href="_communication_8cpp_source.html#l00025">25</a> of file <a class="el" href="_communication_8cpp_source.html">Communication.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_communication_a88aa7a2d2ac5202e2b8eef787d1a8689_cgraph.png" border="0" usemap="#class_communication_a88aa7a2d2ac5202e2b8eef787d1a8689_cgraph" alt=""/></div>
<map name="class_communication_a88aa7a2d2ac5202e2b8eef787d1a8689_cgraph" id="class_communication_a88aa7a2d2ac5202e2b8eef787d1a8689_cgraph">
<area shape="rect" id="node3" href="class_communication.html#ad7b13fccf78bfce83efc9bb06c64facd" title="Communication::getInstance" alt="" coords="268,5,455,32"/><area shape="rect" id="node6" href="class_configuration.html#aab8a109a9db934c027b08c0ccbb83066" title="Configuration::getSerialSpeed" alt="" coords="265,56,458,83"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_communication_a88aa7a2d2ac5202e2b8eef787d1a8689_icgraph.png" border="0" usemap="#class_communication_a88aa7a2d2ac5202e2b8eef787d1a8689_icgraph" alt=""/></div>
<map name="class_communication_a88aa7a2d2ac5202e2b8eef787d1a8689_icgraph" id="class_communication_a88aa7a2d2ac5202e2b8eef787d1a8689_icgraph">
<area shape="rect" id="node3" href="class_communication.html#ad7b13fccf78bfce83efc9bb06c64facd" title="Communication::getInstance" alt="" coords="264,5,451,32"/><area shape="rect" id="node6" href="class_line_follow.html#afac0ad1ff185b7e5f9b47428cb2e5e48" title="LineFollow::begin" alt="" coords="499,5,621,32"/><area shape="rect" id="node8" href="class_state_maschine.html#acdadfde97fc8449c816c1b489e2f4a22" title="StateMaschine::begin" alt="" coords="670,5,818,32"/><area shape="rect" id="node10" href="class_state_maschine.html#a908a6b51448036bc23a7cd76acfcfbe0" title="StateMaschine::getInstance" alt="" coords="867,5,1051,32"/></map>
</div>
</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a43c8f2812f29ab78f7213838e715cf49"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_communication.html#a43c8f2812f29ab78f7213838e715cf49">Communication::checkCommands</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Checks the array readyCommands for commands that have to be exectued here and executes them. </p>

<p>Definition at line <a class="el" href="_communication_8cpp_source.html#l00088">88</a> of file <a class="el" href="_communication_8cpp_source.html">Communication.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_communication_a43c8f2812f29ab78f7213838e715cf49_cgraph.png" border="0" usemap="#class_communication_a43c8f2812f29ab78f7213838e715cf49_cgraph" alt=""/></div>
<map name="class_communication_a43c8f2812f29ab78f7213838e715cf49_cgraph" id="class_communication_a43c8f2812f29ab78f7213838e715cf49_cgraph">
<area shape="rect" id="node3" href="class_communication.html#a17bff838a0404ae06482f17bcecd3784" title="Communication::getAndRemoveCommandFromReadyCommands" alt="" coords="275,5,674,32"/><area shape="rect" id="node9" href="class_communication.html#a17e42ee6dbbaa353944d63e7d5dee25a" title="Communication::sendCurrentConfiguration" alt="" coords="342,56,607,83"/><area shape="rect" id="node5" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a" title="Communication::send" alt="" coords="769,5,917,32"/><area shape="rect" id="node7" href="class_configuration.html#ad398e1915b07ffc4091d4d5827bd6c6e" title="Configuration::getMessageFilterLevel" alt="" coords="1011,5,1245,32"/><area shape="rect" id="node11" href="class_configuration.html#a0b0009b5114b418831478c031372d12c" title="Configuration::getCurrentConfiguration" alt="" coords="723,56,963,83"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_communication_a43c8f2812f29ab78f7213838e715cf49_icgraph.png" border="0" usemap="#class_communication_a43c8f2812f29ab78f7213838e715cf49_icgraph" alt=""/></div>
<map name="class_communication_a43c8f2812f29ab78f7213838e715cf49_icgraph" id="class_communication_a43c8f2812f29ab78f7213838e715cf49_icgraph">
<area shape="rect" id="node3" href="class_communication.html#ab405d4412e7f2515e4fdc2e61a8d5963" title="Communication::doJob" alt="" coords="275,5,429,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ab405d4412e7f2515e4fdc2e61a8d5963"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_communication.html#ab405d4412e7f2515e4fdc2e61a8d5963">Communication::doJob</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Does the job which this class has to do in regular intervals. Therefore this method has to be called in regular intervals (as short as possible).<br/>
</p>
<ol type="1">
<li>Checks if data is available to read. </li>
</ol>

<p>Definition at line <a class="el" href="_communication_8cpp_source.html#l00040">40</a> of file <a class="el" href="_communication_8cpp_source.html">Communication.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_communication_ab405d4412e7f2515e4fdc2e61a8d5963_cgraph.png" border="0" usemap="#class_communication_ab405d4412e7f2515e4fdc2e61a8d5963_cgraph" alt=""/></div>
<map name="class_communication_ab405d4412e7f2515e4fdc2e61a8d5963_cgraph" id="class_communication_ab405d4412e7f2515e4fdc2e61a8d5963_cgraph">
<area shape="rect" id="node3" href="class_communication.html#ad566d07485df1c7970edd450723da1aa" title="Communication::parseAndPutCommandOnList" alt="" coords="209,56,501,83"/><area shape="rect" id="node13" href="class_communication.html#a43c8f2812f29ab78f7213838e715cf49" title="Communication::checkCommands" alt="" coords="244,107,465,133"/><area shape="rect" id="node5" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a" title="Communication::send" alt="" coords="1043,107,1191,133"/><area shape="rect" id="node9" href="class_command.html#adbc9f2539741be419397502840f3740c" title="Command::parse" alt="" coords="689,5,810,32"/><area shape="rect" id="node7" href="class_configuration.html#ad398e1915b07ffc4091d4d5827bd6c6e" title="Configuration::getMessageFilterLevel" alt="" coords="1285,107,1520,133"/><area shape="rect" id="node11" href="class_command.html#ad23d2c8f8c6c24b71bae06c5aefcc537" title="Command::copyBytesUntil" alt="" coords="1029,5,1206,32"/><area shape="rect" id="node15" href="class_communication.html#a17bff838a0404ae06482f17bcecd3784" title="Communication::getAndRemoveCommandFromReadyCommands" alt="" coords="550,107,949,133"/><area shape="rect" id="node18" href="class_communication.html#a17e42ee6dbbaa353944d63e7d5dee25a" title="Communication::sendCurrentConfiguration" alt="" coords="617,157,882,184"/><area shape="rect" id="node20" href="class_configuration.html#a0b0009b5114b418831478c031372d12c" title="Configuration::getCurrentConfiguration" alt="" coords="997,157,1237,184"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a17bff838a0404ae06482f17bcecd3784"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">boolean <a class="el" href="class_communication.html#a17bff838a0404ae06482f17bcecd3784">Communication::getAndRemoveCommandFromReadyCommands</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_command.html">Command</a> *&#160;</td>
          <td class="paramname"><em>c</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>commandCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Checks the array readyCommands if the given commandCode is in the list. If so it copies the values from the command in the list to the space of the given reference and removes the command from the readyCommands array. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">c</td><td><a class="el" href="class_command.html" title="A Command object represents a command sent from the host software.">Command</a> that will be filled, if the command is in the list. "c.commandCode" will be set to 0 if the command is not in the list </td></tr>
    <tr><td class="paramname">commandCode</td><td>The code of the command to look for inside the readyCommands array. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>Returns true if the command was found and removed from the list otherwise false. </dd></dl>

<p>Definition at line <a class="el" href="_communication_8cpp_source.html#l00106">106</a> of file <a class="el" href="_communication_8cpp_source.html">Communication.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_communication_a17bff838a0404ae06482f17bcecd3784_cgraph.png" border="0" usemap="#class_communication_a17bff838a0404ae06482f17bcecd3784_cgraph" alt=""/></div>
<map name="class_communication_a17bff838a0404ae06482f17bcecd3784_cgraph" id="class_communication_a17bff838a0404ae06482f17bcecd3784_cgraph">
<area shape="rect" id="node3" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a" title="Communication::send" alt="" coords="454,5,602,32"/><area shape="rect" id="node5" href="class_configuration.html#ad398e1915b07ffc4091d4d5827bd6c6e" title="Configuration::getMessageFilterLevel" alt="" coords="651,5,885,32"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_communication_a17bff838a0404ae06482f17bcecd3784_icgraph.png" border="0" usemap="#class_communication_a17bff838a0404ae06482f17bcecd3784_icgraph" alt=""/></div>
<map name="class_communication_a17bff838a0404ae06482f17bcecd3784_icgraph" id="class_communication_a17bff838a0404ae06482f17bcecd3784_icgraph">
<area shape="rect" id="node3" href="class_communication.html#a43c8f2812f29ab78f7213838e715cf49" title="Communication::checkCommands" alt="" coords="453,5,675,32"/><area shape="rect" id="node7" href="class_state_maschine.html#a5551d00a5224f595833b75969c2ca64a" title="StateMaschine::checkCommands" alt="" coords="455,56,673,83"/><area shape="rect" id="node5" href="class_communication.html#ab405d4412e7f2515e4fdc2e61a8d5963" title="Communication::doJob" alt="" coords="723,5,877,32"/><area shape="rect" id="node9" href="class_state_maschine.html#a1095131aa8e6e9537f481b5f425395e2" title="StateMaschine::doJob" alt="" coords="725,56,875,83"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ad7b13fccf78bfce83efc9bb06c64facd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_communication.html">Communication</a> * <a class="el" href="class_communication.html#ad7b13fccf78bfce83efc9bb06c64facd">Communication::getInstance</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Get the <a class="el" href="class_communication.html">Communication</a> instance </p>
<dl class="section return"><dt>Returns:</dt><dd>the <a class="el" href="class_communication.html">Communication</a> instance </dd></dl>

<p>Definition at line <a class="el" href="_communication_8cpp_source.html#l00014">14</a> of file <a class="el" href="_communication_8cpp_source.html">Communication.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_communication_ad7b13fccf78bfce83efc9bb06c64facd_cgraph.png" border="0" usemap="#class_communication_ad7b13fccf78bfce83efc9bb06c64facd_cgraph" alt=""/></div>
<map name="class_communication_ad7b13fccf78bfce83efc9bb06c64facd_cgraph" id="class_communication_ad7b13fccf78bfce83efc9bb06c64facd_cgraph">
<area shape="rect" id="node3" href="class_communication.html#a88aa7a2d2ac5202e2b8eef787d1a8689" title="Communication::Communication" alt="" coords="240,5,451,32"/><area shape="rect" id="node6" href="class_configuration.html#aab8a109a9db934c027b08c0ccbb83066" title="Configuration::getSerialSpeed" alt="" coords="499,5,693,32"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_communication_ad7b13fccf78bfce83efc9bb06c64facd_icgraph.png" border="0" usemap="#class_communication_ad7b13fccf78bfce83efc9bb06c64facd_icgraph" alt=""/></div>
<map name="class_communication_ad7b13fccf78bfce83efc9bb06c64facd_icgraph" id="class_communication_ad7b13fccf78bfce83efc9bb06c64facd_icgraph">
<area shape="rect" id="node3" href="class_communication.html#a88aa7a2d2ac5202e2b8eef787d1a8689" title="Communication::Communication" alt="" coords="240,5,451,32"/><area shape="rect" id="node6" href="class_line_follow.html#afac0ad1ff185b7e5f9b47428cb2e5e48" title="LineFollow::begin" alt="" coords="284,56,407,83"/><area shape="rect" id="node8" href="class_state_maschine.html#acdadfde97fc8449c816c1b489e2f4a22" title="StateMaschine::begin" alt="" coords="499,56,647,83"/><area shape="rect" id="node10" href="class_state_maschine.html#a908a6b51448036bc23a7cd76acfcfbe0" title="StateMaschine::getInstance" alt="" coords="696,56,880,83"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ad566d07485df1c7970edd450723da1aa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_communication.html#ad566d07485df1c7970edd450723da1aa">Communication::parseAndPutCommandOnList</a> </td>
          <td>(</td>
          <td class="paramtype">byte *&#160;</td>
          <td class="paramname"><em>commandString</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns a pointer to the first free spot in readyCommands (free = command is set to 0) </p>

<p>Definition at line <a class="el" href="_communication_8cpp_source.html#l00059">59</a> of file <a class="el" href="_communication_8cpp_source.html">Communication.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_communication_ad566d07485df1c7970edd450723da1aa_cgraph.png" border="0" usemap="#class_communication_ad566d07485df1c7970edd450723da1aa_cgraph" alt=""/></div>
<map name="class_communication_ad566d07485df1c7970edd450723da1aa_cgraph" id="class_communication_ad566d07485df1c7970edd450723da1aa_cgraph">
<area shape="rect" id="node3" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a" title="Communication::send" alt="" coords="347,5,495,32"/><area shape="rect" id="node7" href="class_command.html#adbc9f2539741be419397502840f3740c" title="Command::parse" alt="" coords="361,56,482,83"/><area shape="rect" id="node5" href="class_configuration.html#ad398e1915b07ffc4091d4d5827bd6c6e" title="Configuration::getMessageFilterLevel" alt="" coords="544,5,779,32"/><area shape="rect" id="node9" href="class_command.html#ad23d2c8f8c6c24b71bae06c5aefcc537" title="Command::copyBytesUntil" alt="" coords="573,56,750,83"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_communication_ad566d07485df1c7970edd450723da1aa_icgraph.png" border="0" usemap="#class_communication_ad566d07485df1c7970edd450723da1aa_icgraph" alt=""/></div>
<map name="class_communication_ad566d07485df1c7970edd450723da1aa_icgraph" id="class_communication_ad566d07485df1c7970edd450723da1aa_icgraph">
<area shape="rect" id="node3" href="class_communication.html#ab405d4412e7f2515e4fdc2e61a8d5963" title="Communication::doJob" alt="" coords="347,5,501,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a8679b3cb7ceef5527faa24454ce0f18a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a">Communication::send</a> </td>
          <td>(</td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>messageId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sends the message code over the configured serial interface.<br/>
 The message will be filtered according to the configured filter level in the configuration. </p>
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="class_configuration.html#ad398e1915b07ffc4091d4d5827bd6c6e">Configuration::getMessageFilterLevel()</a> </dd></dl>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">messageId</td><td>Id of the message that will be sent. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_communication_8cpp_source.html#l00133">133</a> of file <a class="el" href="_communication_8cpp_source.html">Communication.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_communication_a8679b3cb7ceef5527faa24454ce0f18a_cgraph.png" border="0" usemap="#class_communication_a8679b3cb7ceef5527faa24454ce0f18a_cgraph" alt=""/></div>
<map name="class_communication_a8679b3cb7ceef5527faa24454ce0f18a_cgraph" id="class_communication_a8679b3cb7ceef5527faa24454ce0f18a_cgraph">
<area shape="rect" id="node3" href="class_configuration.html#ad398e1915b07ffc4091d4d5827bd6c6e" title="Configuration::getMessageFilterLevel" alt="" coords="203,5,437,32"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_communication_a8679b3cb7ceef5527faa24454ce0f18a_icgraph.png" border="0" usemap="#class_communication_a8679b3cb7ceef5527faa24454ce0f18a_icgraph" alt=""/></div>
<map name="class_communication_a8679b3cb7ceef5527faa24454ce0f18a_icgraph" id="class_communication_a8679b3cb7ceef5527faa24454ce0f18a_icgraph">
<area shape="rect" id="node3" href="class_communication.html#ad566d07485df1c7970edd450723da1aa" title="Communication::parseAndPutCommandOnList" alt="" coords="651,41,943,67"/><area shape="rect" id="node7" href="class_communication.html#a17bff838a0404ae06482f17bcecd3784" title="Communication::getAndRemoveCommandFromReadyCommands" alt="" coords="203,142,602,169"/><area shape="rect" id="node16" href="class_communication.html#a17e42ee6dbbaa353944d63e7d5dee25a" title="Communication::sendCurrentConfiguration" alt="" coords="270,91,535,118"/><area shape="rect" id="node19" href="class_line_follow.html#a93ff35747f2ae3bb26998f07243afc3c" title="LineFollow::doJob" alt="" coords="1027,294,1152,321"/><area shape="rect" id="node22" href="class_line_follow.html#a1e3bb3e01044c86e7ad87c632bac6634" title="LineFollow::readFrontLineSensors" alt="" coords="688,243,907,270"/><area shape="rect" id="node25" href="class_line_follow.html#af85fe355ee0699cabc3c817d10aa8b9d" title="LineFollow::readLineSensors" alt="" coords="703,294,891,321"/><area shape="rect" id="node28" href="class_line_follow.html#a9db172747e4457a6b01f8d27ed41ac39" title="Calibrates the sensors." alt="" coords="995,598,1183,625"/><area shape="rect" id="node31" href="class_move.html#a237261f2dd8fc115129f0ba998f13183" title="Move::performFastStop" alt="" coords="325,547,481,574"/><area shape="rect" id="node36" href="class_move.html#a9c5dc5c3a98abece0c2f40085c3601be" title="Move::controlMotors" alt="" coords="333,395,472,422"/><area shape="rect" id="node43" href="class_move.html#a0d9285d4088aa0c6fdab04f0a0e5df2c" title="Move::changeMotorSpeed" alt="" coords="711,446,883,473"/><area shape="rect" id="node45" href="class_move.html#a5ba1c7d78d6a067bc3cfa5f9cdca921f" title="Move::changeMotorSpeedBasedOnInitialSpeed" alt="" coords="651,345,944,371"/><area shape="rect" id="node50" href="class_move.html#a8dfdbb462ec42c3a2b4682db5cd5c692" title="Move::equalizeMotorsSpeed" alt="" coords="310,598,495,625"/><area shape="rect" id="node52" href="class_state_maschine.html#a5b9f3dfb795afbb28c1beeaa6f6512a4" title="StateMaschine::changeState" alt="" coords="307,497,498,523"/><area shape="rect" id="node5" href="class_communication.html#ab405d4412e7f2515e4fdc2e61a8d5963" title="Communication::doJob" alt="" coords="1012,66,1167,93"/><area shape="rect" id="node9" href="class_communication.html#a43c8f2812f29ab78f7213838e715cf49" title="Communication::checkCommands" alt="" coords="687,91,908,118"/><area shape="rect" id="node12" href="class_state_maschine.html#a5551d00a5224f595833b75969c2ca64a" title="StateMaschine::checkCommands" alt="" coords="1235,421,1453,447"/><area shape="rect" id="node14" href="class_state_maschine.html#a1095131aa8e6e9537f481b5f425395e2" title="StateMaschine::doJob" alt="" coords="1502,377,1653,403"/><area shape="rect" id="node33" href="class_state_maschine.html#ae028d25d4b664d805e0f516a49cfdb23" title="StateMaschine::stopParcours" alt="" coords="700,547,895,574"/><area shape="rect" id="node38" href="class_line_follow.html#a5f3e76e795bacff24be60b7f65d84d94" title="LineFollow::startIt" alt="" coords="735,395,859,422"/><area shape="rect" id="node40" href="class_state_maschine.html#aaca597f41ba735fce3ef0eb06e4fda18" title="StateMaschine::startParcours" alt="" coords="992,421,1187,447"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="ae69fab10af713fa7eef7b75ee804d030"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a">Communication::send</a> </td>
          <td>(</td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>messageId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>param</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">messageId</td><td>Id of the message that will be sent. </td></tr>
    <tr><td class="paramname">param</td><td>Parameter that will be sent with this message. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_communication_8cpp_source.html#l00144">144</a> of file <a class="el" href="_communication_8cpp_source.html">Communication.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_communication_ae69fab10af713fa7eef7b75ee804d030_cgraph.png" border="0" usemap="#class_communication_ae69fab10af713fa7eef7b75ee804d030_cgraph" alt=""/></div>
<map name="class_communication_ae69fab10af713fa7eef7b75ee804d030_cgraph" id="class_communication_ae69fab10af713fa7eef7b75ee804d030_cgraph">
<area shape="rect" id="node3" href="class_configuration.html#ad398e1915b07ffc4091d4d5827bd6c6e" title="Configuration::getMessageFilterLevel" alt="" coords="203,5,437,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a4f3943a64cf5fb3e28c343582bedb80a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a">Communication::send</a> </td>
          <td>(</td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>messageId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long const&#160;</td>
          <td class="paramname"><em>params</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>paramSize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sends the message code over the configured serial interface.<br/>
 The message will be filtered according to the configured filter level in the configuration.<br/>
<br/>
 The message will be sent in the following format:<br/>
 <code>202-4:12,323,4399,2292\n</code><br/>
 <code>[messageId]-[sizeOfParameters]:[parameter 1],[parameter 2],[parameter 3],[parameter n]\n</code> </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">messageId</td><td>Id of the message that will be sent. </td></tr>
    <tr><td class="paramname">params[]</td><td>Parameters that will be sent with this message. </td></tr>
    <tr><td class="paramname">paramSize</td><td>Size of params[]. </td></tr>
  </table>
  </dd>
</dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd>: make sure the receiver of the serial message can work with negative parameters </dd></dl>

<p>Definition at line <a class="el" href="_communication_8cpp_source.html#l00162">162</a> of file <a class="el" href="_communication_8cpp_source.html">Communication.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_communication_a4f3943a64cf5fb3e28c343582bedb80a_cgraph.png" border="0" usemap="#class_communication_a4f3943a64cf5fb3e28c343582bedb80a_cgraph" alt=""/></div>
<map name="class_communication_a4f3943a64cf5fb3e28c343582bedb80a_cgraph" id="class_communication_a4f3943a64cf5fb3e28c343582bedb80a_cgraph">
<area shape="rect" id="node3" href="class_configuration.html#ad398e1915b07ffc4091d4d5827bd6c6e" title="Configuration::getMessageFilterLevel" alt="" coords="203,5,437,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a177161f8b437b0e406c301394a3632e5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a">Communication::send</a> </td>
          <td>(</td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>messageId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int const&#160;</td>
          <td class="paramname"><em>params</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>paramSize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">messageId</td><td>Id of the message that will be sent. </td></tr>
    <tr><td class="paramname">params[]</td><td>Parameters that will be sent with this message. </td></tr>
    <tr><td class="paramname">paramSize</td><td>Size of params[]. </td></tr>
  </table>
  </dd>
</dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd>Find a better implementation so that we don't have a copy of code. </dd></dl>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000003">Todo:</a></b></dt><dd>: make sure the receiver of the serial message can work with negative parameters </dd></dl>

<p>Definition at line <a class="el" href="_communication_8cpp_source.html#l00185">185</a> of file <a class="el" href="_communication_8cpp_source.html">Communication.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_communication_a177161f8b437b0e406c301394a3632e5_cgraph.png" border="0" usemap="#class_communication_a177161f8b437b0e406c301394a3632e5_cgraph" alt=""/></div>
<map name="class_communication_a177161f8b437b0e406c301394a3632e5_cgraph" id="class_communication_a177161f8b437b0e406c301394a3632e5_cgraph">
<area shape="rect" id="node3" href="class_configuration.html#ad398e1915b07ffc4091d4d5827bd6c6e" title="Configuration::getMessageFilterLevel" alt="" coords="203,5,437,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="a17e42ee6dbbaa353944d63e7d5dee25a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_communication.html#a17e42ee6dbbaa353944d63e7d5dee25a">Communication::sendCurrentConfiguration</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_communication_8cpp_source.html#l00215">215</a> of file <a class="el" href="_communication_8cpp_source.html">Communication.cpp</a>.</p>

<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_communication_a17e42ee6dbbaa353944d63e7d5dee25a_cgraph.png" border="0" usemap="#class_communication_a17e42ee6dbbaa353944d63e7d5dee25a_cgraph" alt=""/></div>
<map name="class_communication_a17e42ee6dbbaa353944d63e7d5dee25a_cgraph" id="class_communication_a17e42ee6dbbaa353944d63e7d5dee25a_cgraph">
<area shape="rect" id="node3" href="class_configuration.html#a0b0009b5114b418831478c031372d12c" title="Configuration::getCurrentConfiguration" alt="" coords="320,5,560,32"/><area shape="rect" id="node5" href="class_communication.html#a8679b3cb7ceef5527faa24454ce0f18a" title="Communication::send" alt="" coords="366,56,514,83"/><area shape="rect" id="node7" href="class_configuration.html#ad398e1915b07ffc4091d4d5827bd6c6e" title="Configuration::getMessageFilterLevel" alt="" coords="608,56,843,83"/></map>
</div>
</p>

<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="class_communication_a17e42ee6dbbaa353944d63e7d5dee25a_icgraph.png" border="0" usemap="#class_communication_a17e42ee6dbbaa353944d63e7d5dee25a_icgraph" alt=""/></div>
<map name="class_communication_a17e42ee6dbbaa353944d63e7d5dee25a_icgraph" id="class_communication_a17e42ee6dbbaa353944d63e7d5dee25a_icgraph">
<area shape="rect" id="node3" href="class_communication.html#a43c8f2812f29ab78f7213838e715cf49" title="Communication::checkCommands" alt="" coords="320,5,541,32"/><area shape="rect" id="node5" href="class_communication.html#ab405d4412e7f2515e4fdc2e61a8d5963" title="Communication::doJob" alt="" coords="589,5,744,32"/></map>
</div>
</p>

</div>
</div>
<a class="anchor" id="acfbc09567d9cdc37fd1fc333f8b21d85"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="class_communication.html#acfbc09567d9cdc37fd1fc333f8b21d85">Communication::sendString</a> </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>message</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sends a plain string message for debug reasons.</p>
<p>Note: This method should only temporarly be used to test the library. </p>
<dl class="params"><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">message</td><td>Message to send. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_communication_8cpp_source.html#l00208">208</a> of file <a class="el" href="_communication_8cpp_source.html">Communication.cpp</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="aa0bca76c6a5180371c2d2e9f978a33e9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_configuration.html">Configuration</a>* <a class="el" href="class_communication.html#aa0bca76c6a5180371c2d2e9f978a33e9">Communication::_config</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_communication_8h_source.html#l00014">14</a> of file <a class="el" href="_communication_8h_source.html">Communication.h</a>.</p>

</div>
</div>
<a class="anchor" id="a55d359c2e8b6061388edbf07aa42c385"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">byte <a class="el" href="class_communication.html#a55d359c2e8b6061388edbf07aa42c385">Communication::_incomingDataBuffer</a>[<a class="el" href="class_communication.html#ae3415ae474fb8d258f56ba70a4526627">_INCOMINGDATABUFFERSIZE</a>]<code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Buffer to store ONE incoming line which is not yet completely transmitted. </p>

<p>Definition at line <a class="el" href="_communication_8h_source.html#l00017">17</a> of file <a class="el" href="_communication_8h_source.html">Communication.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae3415ae474fb8d258f56ba70a4526627"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int const <a class="el" href="class_communication.html#ae3415ae474fb8d258f56ba70a4526627">Communication::_INCOMINGDATABUFFERSIZE</a> = 50<code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The buffer size for the incomingDataBuffer. </p>

<p>Definition at line <a class="el" href="_communication_8h_source.html#l00015">15</a> of file <a class="el" href="_communication_8h_source.html">Communication.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab0959d51f9cb9ee0ea2547b74856f283"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_communication.html">Communication</a> <a class="el" href="class_communication.html#ab0959d51f9cb9ee0ea2547b74856f283">Communication::_instance</a><code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Static reference to the singleton object. </p>

<p>Definition at line <a class="el" href="_communication_8h_source.html#l00011">11</a> of file <a class="el" href="_communication_8h_source.html">Communication.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad7d224755b1c47a1b5e6ce0d018492bb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">boolean <a class="el" href="class_communication.html#ad7d224755b1c47a1b5e6ce0d018492bb">Communication::_instanceCreated</a> = false<code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="_communication_8h_source.html#l00012">12</a> of file <a class="el" href="_communication_8h_source.html">Communication.h</a>.</p>

</div>
</div>
<a class="anchor" id="acfaf4176401e364e3b0476a6eb220817"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="class_communication.html#acfaf4176401e364e3b0476a6eb220817">Communication::_lastBufferCharacter</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The position of the last character in the buffer (lastBufferChar + 1 will be the next empty spot) </p>

<p>Definition at line <a class="el" href="_communication_8h_source.html#l00018">18</a> of file <a class="el" href="_communication_8h_source.html">Communication.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9c8bdd0590074d523a055e50284f5ce1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int const <a class="el" href="class_communication.html#a9c8bdd0590074d523a055e50284f5ce1">Communication::_READYCOMMANDSSIZE</a> = 15<code> [static, private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The amount of commands that can be stored into the readyCommands array. </p>

<p>Definition at line <a class="el" href="_communication_8h_source.html#l00016">16</a> of file <a class="el" href="_communication_8h_source.html">Communication.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7614d37dd498c0c4549d36d88eb39c24"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_command.html">Command</a> <a class="el" href="class_communication.html#a7614d37dd498c0c4549d36d88eb39c24">Communication::readyCommands</a>[<a class="el" href="class_communication.html#a9c8bdd0590074d523a055e50284f5ce1">_READYCOMMANDSSIZE</a>]</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Holds all the commands that are ready for execution. </p>
<p>If a new command is transmitted over the serial interface and parsed as a <a class="el" href="class_command.html" title="A Command object represents a command sent from the host software.">Command</a>, the object will be stored at the <b>first empty</b> position of this array. Other classes can then check this array and see if there is command ready for themselves to execute. If such a command is found by a class this class has to remove the command from that array by setting the space to null. </p>

<p>Definition at line <a class="el" href="_communication_8h_source.html#l00036">36</a> of file <a class="el" href="_communication_8h_source.html">Communication.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>D:/Workspace/Arduino/prencar/<a class="el" href="_communication_8h_source.html">Communication.h</a></li>
<li>D:/Workspace/Arduino/prencar/<a class="el" href="_communication_8cpp_source.html">Communication.cpp</a></li>
</ul>
</div><!-- contents -->
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="class_communication.html">Communication</a>      </li>

    <li class="footer">Generated on Tue Apr 3 2012 18:43:13 for prencar by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.0 </li>
   </ul>
 </div>


</body>
</html>
